Compiler Optimization Verification and Maintenance
ثبت نشده
چکیده
Due to the complexity of a compiler, it is difficult for compiler developers to prove the correctness of output of intermediate representations or profiling information manually after applying optimizations. Moreover, it is important to choose good test cases to test the optimization code’s changes, however, it is not simple to build separated test cases to cover every possible optimizations. This proposal proposes automatic techniques to prove the correctness of an IR, the correctness of its annotations for correct profiling information, and to generate test cases according to the kinds of optimizations. Moreover, the test case size can be reduced by using bug isolation techniques. We focus our techniques on loop nest optimizations in the GNU C compiler with SPEC-CPU2006 benchmark test suites.
منابع مشابه
Dynamic Optimization of Modelica Models – Language Extensions and Tools
The Modelica language is currently gaining increased interest, both in industry and in academia. Modelica is an object-oriented, general purpose modeling language, targeted at modeling of complex physical systems. While the main usage of models developed in Modelica is simulation, several other usages emerge. Examples of such usages are dynamic optimization, model reduction, calibration, verifi...
متن کاملUsing Program Analysis Infrastructure for Software Maintenance
Enabling the reuse of available techniques and tools for software maintenance is a major topic. However, research focuses mostly on two topics: parsing and tool interoperability. In the future, more sophisticated approaches to maintenance will be needed and dataflow analysis has to be used. As building dataflow analyzers for real languages is expensive, we must start to provide reusable dataflo...
متن کاملFormal verification of automatically generated C-code from polychronous data-flow equations
Synchronous data-flow languages are used as design approaches in developing embedded and critical real-time systems in which synchronous programs are verified by applying formal verification. In a synchronous design approach, transformation and optimization are used to transform synchronous programs and generate general purpose executable code. The incorrectness of the transformations make the ...
متن کاملCompiler Construction Using LOTOS NT
Much academic and industrial effort has been invested in compiler construction. Numerous tools and environments have been developed to improve compiler quality while reducing implementation and maintenance costs. In the domain of computer-aided verification, most tools involve compilation and/or translation steps. This is the case with the tools developed by the Vasy team of Inria Rhône-Alpes, ...
متن کاملA Framework for Formal Verification of Compiler Optimizations
In this article, we describe a framework for formally verifying the correctness of compiler optimizations. We begin by giving formal semantics to a variation of the TRANS language [6], which is designed to express optimizations as transformations on control-flow graphs using temporal logic side conditions. We then formalize the idea of correctness of a TRANS optimization, and prove general lemm...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008